/*
 * AbstractCavaID3.java
 *
 * Created on 26 aprile 2007, 14.03
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package alecava;

import java.io.*;
/**
 *
 * @author alecava
 */
public abstract class AbstractCavaID3 {
    
    private File f;
    private String lyric = "";
    
    public AbstractCavaID3(File f) throws IOException{
        if (f == null) throw new NullPointerException();
        this.f = f;
    }
    
    public File getFile(){
        return this.f;
    }
    
    @Override
    public String toString(){
        return getFile().getName();
    }
    
    public void setLyric(String l){
        //TODO setta il testo  
    }
    
    public String getLyric(){
        //carica il testo in this.lyric e lo restituisce
        return this.lyric;
    }
    
    public abstract boolean hasTag();
    
    public abstract String getArtist();
    
    public abstract String getAlbum();
    
    public abstract String getTitle();
    
    public abstract String getComment();
    
    public abstract String getYear();
    
    public abstract String getGenre();
    
    public abstract String getTrack();
    
    public abstract void writeTag(String artista, String titolo, String album,
            String commento, String anno, String genere, String traccia) throws IOException;
    
}
